﻿using System;

namespace YUMI.GIS.Interfaces
{
    /// <summary>
    /// 定义了对几何对象的空间关系操作方法
    /// </summary>
    public interface IKRelationalOperator
    {
        /// <summary>
        /// 是否包含Contains=~Within，判断此对象是否包含另一对象。
        /// </summary>
        bool Contains(IKGeometry other);
        /// <summary>
        /// 是否穿越。
        /// </summary>
        bool Crosses(IKGeometry other);
        /// <summary>
        /// 判断两个几何对象是否具有相离关系。
        /// </summary>
        bool Disjoint(IKGeometry other);
        /// <summary>
        /// 判断两个几何对象是否拥有同样的类型和相同的坐标。
        /// </summary>
        bool Equals(IKGeometry other);
        /// <summary>
        /// 是否有叠置。
        /// </summary>
        bool Overlaps(IKGeometry other);
        /// <summary>
        /// 判断几何对象是否相邻。
        /// </summary>
        bool Touches(IKGeometry other);
        /// <summary>
        /// 判断此对象是否内含在另一对象中。
        /// </summary>
        bool Within(IKGeometry other);
    }
}
